package com.labot.dao;


import com.labot.model.PedidoNoConforme;
import com.labot.model.PedidoNoConformeBitacora;

import org.springframework.transaction.annotation.Transactional;

import java.util.Date;
import java.util.List;
import java.util.Set;

/**
 * User Data Access Object (GenericDao) interface.
 *
 * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a>
 */
public interface PedidoNoConformeDao extends GenericDao<PedidoNoConforme, Long> {

    
    @Transactional
    List<PedidoNoConforme> getNuevaMuestrasbyCentro(Long id) throws Exception;
    
    List<PedidoNoConforme> getNuevaMuestrasporRango(Date fechadesde, Date fechahasta);

    List<PedidoNoConforme> getNuevaMuestras();
    
    List<PedidoNoConforme> getTodos();
    
    List<PedidoNoConforme> getFiltrados(Long idareasolicita, String reclamo, String estado, String urgente, String muestra, Long idclasificacion, Date fechadesde, Date fechahasta, String numeroprotocolo);

   
    PedidoNoConforme saveNuevaMuestra(PedidoNoConforme nuevamuestra);
    
    Set<PedidoNoConformeBitacora> getBitacoras(Long idNuevaMuestra);
    
    PedidoNoConforme buscarNuevaMuestra(Long id);
    
    List<PedidoNoConforme> getNuevaMuestrasRegistradasNoUrgentes();
    
    List<PedidoNoConforme> getNuevaMuestrasUrgentes();
    
    List<PedidoNoConforme> getNuevaMuestrasEnProceso();
    
    List<PedidoNoConforme> getNuevaMuestrasAvisado();
    
    List<PedidoNoConforme> getNuevaMuestrasCerradas();

	List<PedidoNoConforme> getPedidosAprocesar15hs();

	List<PedidoNoConforme> getPedidosAprocesar13hs();

	PedidoNoConforme getNuevaMuestraPorProtocolo(String protocolo);

   
    
}
